PyCon PH 2024
場所: Makati Sports Center, Manila, Philippines
総括
みんなノリが良い!写真撮って良い?と聞けば「フォーッ!」て盛り上がるし、ガンガン質問する。日本や他の国のPyConとは大分違う雰囲気で、トーク中も雑談をけっこうしていてそれもOKという感じ。大きなハッカソンのトーク大会という感じでした。
キーノートは災害時対策とPyData、Pythonの最新動向、AIと開発者の付き合い方。トークはAI、機械学習、LLM、データモデル、開発速度、などなど。LLM/AI/PyDataが半分以上7割くらい?というイメージ。LTもあったけど別トラック開催だったたこともあり参加せず。
自分のトークはPythonコアのプロトコル仕様について興味を持ってもらう内容で、AIや機械学習のトークが多い中で面白いと思ってもらえるか不安でした。トーク後には「面白かった」と声をかけてくれる人や、質問しにきてくれた人が何人もいて、なかなか良い反応だったので良かった。
スポンサーブースは日曜午前中が一番にぎやかだった。スタンプブックにスタンプを押して回ると何かもらえる仕組みになっていて、初日のキーノート中ににみんなブースに行った感じで盛り上がっていた(キーノート中だけど全体が賑やか)。
コーヒーが9時頃と15時頃にあったけどすぐに品切れになってしまった。15時の休憩に2日ともパスタが出されて、美味しいんだけどオヤツ的なものを期待したのでちょっと不意を突かれた感じ。ランチは2日ともフィリピン料理でとても美味しかった。
2日間のイベント中、お酒はゼロ。公式パーティーかと思ったPyNightはギターを弾いてみんなで歌う会だし、招待パーティーも食事中の飲物は水。お酒と食べ物がなくても盛り上がってずっと話して居られる感じ。
イベントログ
9:00~ オープニング。
https://scrapbox.io/files/65da981ff678990023c5a05e.png
チェアのZorexさんのイベント紹介
アプリあるよ
shimizukawa.iconトーク紹介にトーク内容とiCalリンクがあれば良かったな
pygabay はフィリピン語で pyguide の意味らしい
コーヒーゲット
https://scrapbox.io/files/65daa662b4b45c00232efc2e.png
9:10~
Keynote 1: Simulating Disaster Relief Distribution and Transport Network Efficiency During Typhoons
Reina Reyes
データサイエンティスト、NAST優秀若手科学者、UP Dilimanの影響力のあるアカデミックリーダー
JC Peralta
地理空間MLコンサルタント、気候科学者
災害時にタイムリーに避難情報を届けるには
フードハブの話(よく分からなかった
質疑応答がめちゃくちゃ盛り上がってる
https://scrapbox.io/files/65daa2b973759b00234487a9.png
質問の待ち行列ができてる。学生からの質問がすごく多い感じ。
40分くらい質疑応答してて時間切れで打ち切られた
shimizukawa.icon 話の流れが早くて、ほとんど把握できなかった・・
shimizukawa.icon会場寒い!明日はパーカー持ってこよう..
shimizukawa.iconコーヒーもらいにいったら品切れだった.. 寒いよう
10:30 AM - 11:30 AM
Keynote 2: The State of Python in 2024
Michael Kennedy
https://scrapbox.io/files/65dab7ea9bcea7002515e0a0.png
TIOBEでPythonは1位。StackOverflowでもJavaよりも上位になった。
しかし、ChatGPTの登場で質問数がガックリと下がっている。
Pythonといえばバッテリー同梱ですが、それは1991年にはアドバンテージだったけど、いまやインターネット時代でパッケージマネージャーが当たり前。PythonはPEP-594で古いバッテリーを削除する決断をしました。 Python 3.10では多くの小さな最適化が行われた。これらは次の最適化のまえの準備段階だった。
Python 3.11 は3.10よりも10%~60%の高速化が行われた
Faster Startup
Cheeper lazy Python frames
inlined python function calls
PEP-659 Specializing Adaptive Interpreter zero-cost exceptions
Python 3.12
Expanded Specializing Adaptive interpreter
Compact Object Struct
Lower memory
Python 3.13
Tier 2 optimizer PEP-659 Specializing Adaptive Interpreter Enabling sub-interpreters from ptyhon PEP-554 Better memory management
Copy-and-patch JIT
PEP-703 Making the Global Interpreter Lock Optional in CPython でもGILがPython 3.13 で無くなるわけでは無い
Types in Python
型ヒントの導入で、型安全で分かりやすくなったけど、型情報がないほうがシンプル
TypeVar がなくてもシンプルに書けるようになった
def f[T](x: T) -> T: return x
async & await
Deployment, Cloud & Microservice
Frameworks and Tools
msgspec : Zero-cost scheme validation Rustification of Python
uv reimpolements pip & pip tools htmx no more javascript. JS使いたくない人も嬉しいし、JSの人もnodeのサーバーと分業できて嬉しい pywebview Build GUI for your Python program with JavaScript, HTML, and CSS. 質疑応答
Q. 生成AIが話題ですが、Pythonへの影響はありますか?
A. StackOverflowの質問が減ったグラフにあるように、多くの人が生成AIを活用していると思います。影響はあります。
Q. デイヴィッド・ハイネマイヤー・ハンソン を Rubyの作者といってたけどRailsの作者だよね
A. ごめんなさい、そうだね
Q. TensorFlowを使っているプロジェクトでまだ Python 3.10 を使っていて、それが安定しているからなのだけど、どうやったら Pythonバージョンを上げるよう説得できるだろうか?
A. Python 2 vs 3 の話みたいだね。
(続き聞き取れず)
(いくつか聞き取れず)
Q. 未来のPython
A. Pythonは多くの人に使われるようになりましたが、AndroidやiPhoneで使われることはないと思います。
(続き聞き取れず)
shimizukawa.icon 周りのテーブルで雑談(?)を普通にしててちょっと集中しづらいな...
11:40 AM - 12:15 PM
Developer Experience: How BillEase balances speed, quality, and usability of Python microservices
Alexandre Gerona
BillEase社エンジニアリング担当副社長、フィンテック専門家、技術リーダー
https://scrapbox.io/files/65dab84fb27bc700252c6ab6.png
pre-commit test upkey
flake8
isort
black
pytest
tox
shimizukawa.icon 手を挙げてのやりとりが面白かった
何人くらいテスト書いてますか
開発者がテスト書いてますか
カバレッジとってますか
カバレッジは100%ですか
AWSの結合テスト
S3 -> SQL -> Consumer -> RDS
どうやってテストする?
@mock_sqs や @mock_s3 、@responses.activate でモックする
coverage
100% を目指そうにもexceptブロックは漏れることが多い。でもここが一番大事なテスト。
AIの話をしないって言ったけどごめんね
Conventional Commit
Semantic Release
12:15 PM - 1:20 PM
Group Lunches and Group Photo
Unite. Let's guide each other.
ランチはフィリピン料理。1人1食、給仕の方が盛り付けてくれる
https://scrapbox.io/files/65dae4e85f5071002513e85d.png
https://scrapbox.io/files/65dae577778472002420f89b.png
同じテーブルの人とちょっと雑談しつつランチした。日本語で話されてびっくりした。
コーヒーなかった。飲みたかった・・
Iqbqlと写真撮った
https://scrapbox.io/files/65dad08a0317e300236bc718.png
集合写真 Day1
https://scrapbox.io/files/65dae589686a5b0024e75764.png
Mabuhai PyCon PH 2024!
Mabuhai マブハイ は、be alive, welcome という意味らしい(同じテーブルの人に教えてもらった)
1:20 PM - 2:20 PM
Panel Discussion: Python in APAC: Addressing Industry Challenges through Community Collaboration
https://scrapbox.io/files/65dad5e573e6960024aff10d.png
お金
新しい人との交代はできていない
機会
次のPyCon PHで期待することは?規模は500人くらい。
Iqbal PSF知ってる人どのくらいいますか?数人?この人数を増やしたい。後ろにブースがあるので来てね Ciara Bautista 新しいボランティアの参加。PyLadies Manila や Python PH にボランティア参加していますが、続けて行きたい 参加者からの質問
Q. PSFメンバーになるのにかかる費用は?
A. Iqbal 無料です。メンバーになるには名前を登録するだけです Q. 今回PyConに初参加です。ボランティアを続けている理由はなんですか?
Q. swam, fractional work, ... (聞き取れず)
Q. (聞き取れず)
Q. PyCon 初参加で嬉しかったことは?
A. 他の人と知り合って、魔法が起きた
A. ボランティアに参加することで自分の可能性を広げられました
2:20 PM - 2:50 PM
How Python and AI Propel the Philippine Space Agency by Lois Anne Leal
(不参加)
2:20 PM - 3:00 PM
Site Reliability Engineering: A python developer's perspective! by Paul de Paula
(不参加)
2:50 PM - 3:30 PM
Exploring Python for Decentralized Apps: An Introduction to Blockchain and DApp Development by Marc Jerome Tulali
(不参加)
3:00 PM - 3:30 PM
Python for QKD: National Security Using Quantum Key Distribution by Swastik Anupam
(不参加)
3:30 PM - 3:50 PM
Break
休憩のオヤツに、クリームパスタ !????!
https://scrapbox.io/files/65dc3c2d4ece170024be95ec.png
3:50 PM - 4:20 PM
Hacking with Words: Exploiting Vulnerabilities in LLMs by Aniruddha Adhikary
3:50 PM - 4:20 PM
Monoliths strikes back: The Resurgence of Django and Monolithic Frameworks in Modern Development by Kyle Shaun Aquino
(不参加)
4:20 PM - 5:00 PM
Predicting Malnutrition with AI by Fidel Ivan Racines
4:20 PM - 4:50 PM
PySecure: Your Security One-Stop-Shop using Python by Anton Raphael Orpilla
(不参加)
4:50 PM - 5:10 PM
Mapping Made Easy: Map Layouting using PyQGIS by Noel Jerome Borlongan
(不参加)
5:00 PM - 5:20 PM
Rapid Prototyping an AI Project using Colab and Streamlit by Mona Obedoza
高校生!
めっちゃ早口、音域が高い、会場に質問して場を支配した。すごい
ハッカソンに参加したことあるひと!
ハッカソンにどうして参加しようと思いましたか?
https://scrapbox.io/files/65db04818010cf00230225a1.png
配色がめっちゃサイバーだ
質疑応答
Q. どうやってそれだけのプログラミングを身に付けたの?
A. 5歳からプログラミングをしていて...(略
5:20 PM - 5:30 PM
Break
5:30 PM - 6:00 PM
Closing Remarks and Announcements for Day 1
https://scrapbox.io/files/65dc3b250c5bc6002555b202.png
7:00 PM - 10:00 PM
PyCon PH 2024 Contributor's Dinner
お店
https://scrapbox.io/files/65dc3a837da386002559f84e.png
https://scrapbox.io/files/65dbbea1409c3100238cb8ac.png
https://scrapbox.io/files/65dbbf097f7d990026276fbd.png
帰り道、安全そうな大通りで1時間くらい歩いてみたけど、なかなか厳しい道だった
9:00 AM - 9:30 AM
Opening Remarks
https://scrapbox.io/files/65dbf61a43fb7a002347337f.png
9:30 AM - 10:10 AM
Keynote 3: AI and Programmers: Partners or Rivals?
Matt Harrison
スタンフォード大学卒のCSエキスパート、ベストセラー作家、Pythonルミナリー
マット・ハリソンはスタンフォード大学で教育を受けたCSエキスパートであり、高い評価を得ている著者です。"Effective XGBoost "や "Effective Pandas "といったPythonとデータサイエンスのマニュアルでAmazonのベストセラーリストを独占しています。2000年からPythonを使い始め、NetflixやNASAのような大手企業やスタンフォード大学のような一流大学のプロフェッショナルの頭脳を形成してきた。ハリソンのダイナミックな指導は、ライブセッションやオンラインプラットフォームを通じて数千人に及んでいる。
https://scrapbox.io/files/65dbe908c139a60026156d29.png
Topics: Boks, Data, &AI
数学に計算機をまったく使わない人はいない
AIは優秀な計算機
では、AIは本を書けるのか?
AIはブレストしたり、アウトラインを書いたりはできる
AIは(今のところ)章の繋がりを作ったり、良いダイアグラムを作ったり、レビュアーのフィードバックを伝えてくれたりはできない
人間は創造したり、アイディアを繋いだり、コンテキストを理解したりが得意
AIは繰り返したスクやパターンを学んだりが得意
人間が創造的な知識労働ができるのは平均4時間くらいまで。それを越えると単純作業くらいしかできない
AIは良いアウトソース先になる。自分のタスクを書き出してみて、どれがAIにできることだろう?
Pandas、使ったことがある人は? (ほぼ全員)毎日使ってる人は?(少ない)動物園だと思うひとは?(いない)
ChatGPTに、データの前処理をする前に相談をしてます。ウォーミングアップ代わりでこのチャットを通してやることを明確にしていきます。
ChatGPTが最初に提案したコードはいくつかの問題がある。.dropしたり、データを書き替えたりしている。そういうソースをたくさんトレーニングに使ったんだろう。多くの人がそうするのだろうけど、私は好きじゃない。
本の売上げをグラフにすると、最初の5年はほとんど売れていないのに、あるときから売れるようになった。この情報から何が起きたかを考えてみよう
SNSで誰かの目に留まって、そこから人気を得たのかもしれない。
プログラミングを学ぶことはとてもハードだ。多くの人は自分自身に投資することなくすごしている。プログラミングに投資してきた自分や仲間を褒めてください。そしてそのための機会を作ったPyConイベントの主催者に敬意を表する。
ChatGPTが書くPandasコードがひどい理由の半分はトレーニングデータにあります。
スタックオーバーフローを使うのをやめました。これはChatGPTを訓練するようなモノです
AIが書いたコードがなにをしているのか分からないし、うまく動作しないなら、AIは私の時間を無駄にするでしょう。
AIに出来ないことをやろう、と言いました。自分自身に投資して、他の人とつながり、一緒に仕事を達成しましょう。これはAIにはできないことです。
質疑応答
Q. ドキュメントを読めば3分で分かることをAIに聞いて余計に時間がかかってしまうのはなぜだと思いますか?
A. AIと同様にその人達もドキュメントの読み方を知らないからでしょう。一般的に多くの人はドキュメントの読み方を知りません。専門家であれば、自分が何を出来て、AIが何をできるのか知っているので、出来る仕事をアウトソースすることができます。多くの人はそうではありません。
Q. 5歳くらいの子供がいたら自分の仕事をどのように説明しますか?
A. 学校の宿題がでたとき、一緒に座ってPandasでどうやってそれを解決するかやってみませます
(いくつか聞き取れず)
10:10 AM - 10:40 AM
Building a Scalable Network Service Assurance System with Microservices, Python, and ELK Stack
by Randy Dizon
ランディ・ディゾン
Quantrics社リード・ソフトウェア開発者、ソフトウェア開発とアジャイル手法の業界エキスパート
ランディ・ディゾンは、18年に及ぶ素晴らしいキャリアを持ち、クアントリックスのリード・ソフトウェア開発者として、ソフトウェア開発者、テスター、スクラムマスターからなるダイナミックなチームを率いています。ランディの専門知識は、ソフトウェア開発、ソフトウェア・アーキテクチャ、クラウド移行、Java開発、DevOps、アジャイル手法を中心に、さまざまな領域に及んでいます。豊富な知識と実践的な経験で業界を牽引し、数多くのプロジェクトやイニシアティブの成功に貢献している。
ネットワークサービス保険
ネットワークプロバイダーや通信事業者がポリシーやプロセスを導入して、ネットワークサービスの品質を保証すること
システムが常時100%稼働する、というのは不可能だと誰もが知っています
通信がどこかで途切れていることを検出して、問題を通知します
Kafka, ELK (ELK stack - Elasticsearch, Logstash, Kibana ...) を使う
なぜPythonか? PythonはJavaよりもはるかに簡単に学んで使うことができた
質疑応答
Q. Kafkaの使い道は?
A. デバイスから多くのログが出るのでそのログを集めて検索するためです
Q. 構造化ログですか?バイナリデータですか?
A.
Q. システム変更にどのくらいの期間がかかりましたか?
A. いま移行を進めているところです。(shimizukawa.icon長い説明をしていたので聞き間違えたかも?)
10:40 AM - 10:50 AM
Break
10:50 AM - 11:20 AM
A Python Journey: Code, Career, and Changes by Anthony Fox
11:20 AM - 11:50 AM
Gardening Python Community - Local User Group to Regional PyCon by KwonHan Bae
(不参加)(聞きたかったけど、自分のトーク直前の別トラックのため)
11:20 AM - 11:50 AM
Integrating Rust with Python: A Guide to Module Development by John Patrick Laurel
(自分のトークの1つ前)(さすがに聞く余裕ないな・・)
11:50 AM - 12:20 PM
More Energy Mas Happy: Python to find and explore energy sources by Ian Panganiban
(不参加)
11:50 AM - 12:20 PM
How does Python get the length with the len() function? by Takayuki Shimizukawa
(自分のトーク!)
It's a my talk slide for the PyCon PH 2024, Day2 11:50~
https://scrapbox.io/files/65dc22cdaaef6c0025832d5d.png
shimizukawa.icon みんなノリが良くて、ありがたい
@pyconph - 午後0:30 · 2024年2月26日 Takayuki Shimizukawa, Director of PyCon JP Association and BeProud Inc., guides us into the inner workings of Python's len() function to demystify its internal mechanisms and operational principles. https://scrapbox.io/files/65dc4a8b41ee500024c1c440.png
https://youtu.be/a8nhzdes2es
質疑応答
Q. これからPythonを始める学生などに、どこから始めたら良いかアドバイスありますか
A. 自分の場合は、勉強が好きじゃなので、ゲームとか作りたいものを作るために必要な知識を身に付けました。なんか作りましょう。そうすれば知識はあとから付いてきます。
Q. "".join() は混乱しませんか
A. 最近TypeScript使ってる時間が多いんだけど、たまにPythonに戻ると間違えますね。でもCopilotが直してくれるから大丈夫。
Q. 多次元配列のサイズをlen()で返せる?
A. 多次元配列の場合、次元毎のサイズのリストを__len__()で返したいと思うけど、len() はintしか受け付けないのでできません。別のメソッドで返すしかない。
Q. リストをタプルに入れたいけど ([1,2]) だとリストになってしまう
A. ([1,2],) で。[1,2],でもOK。カッコはグルーピング扱いで消えてしまう。カンマだけあればOK。
Q. obj.sort() と sorted(obj) の違いはある?
A. 前者は破壊的だけど消費メモリが少なくて速い。後者は非破壊的だけどコピーを作る分だけメモリを使うし遅い。
他にも、Pythonは破壊的な変更を行うメソッドはNoneを返してメソッドチェインができないようになっているという特徴もあります。
12:20 PM - 1:20 PM
Group Lunches (General Attendees)
https://scrapbox.io/files/65dc26228fb54e00269705f1.png
https://scrapbox.io/files/65dc2648d3c584002752076c.png
1:20 PM - 1:40 PM
Group Photo
https://scrapbox.io/files/65dc27db4633c20024743ed5.png
1:40 PM - 2:20 PM
Securing AI applications by building our own LLM Vulnerability Scanner in Python by Joshua Arvin Lat
(不参加)
1:50 PM - 3:20 PM
Lightning Talks
(不参加)
2:20 PM - 2:50 PM
On Monte Carlo simulations and the statistics of love by Albert Yumol
(不参加)(リモート発表で、途中通信が不安定で止まったりしたけど無事進んだ)
2:50 PM - 3:20 PM
Bite that future: Build your career and immerse yourself with the community by Athena Aliafe Abe
(不参加)
3:20 PM - 3:40 PM
Break
今日もパスタ!そういうものなのかな..
https://scrapbox.io/files/65dc4be47c67e1002503df67.png
ケーキっぽいものを持ってる人もいたけど、品切れになってしまった。
shimizukawa.icon コーヒーを飲んでちょっと元気になった
3:40 PM - 4:20 PM
Enhance your Python application observability with OpenTelemetry by Yoshi Yamaguchi
https://scrapbox.io/files/65dc4ac47da38600255b1ed3.png
Icons in the console is cute
https://scrapbox.io/files/65dc4a67ef58a90025316eb7.png
🌱 ブランチ
🐍 Python
☁ GCP?
🍡 団子... 団子?あ、 $ か
質疑応答
4:20 PM - 4:40 PM
Python Productivity Cookbook: Automate Your Life, Master Time, and Boost Your Finances by Neil Riego
(不参加)
4:40 PM - 4:50 PM
Break
shimizukawa.icon ぐったり。さすがに2日間ずっと英語だと頭が疲れるー
shimizukawa.icon @ymotongpoo と雑談。スライドが4:3って先に教えてよ、とか、子供の進学とか、この付近の治安とか。 4:50 PM - 5:20 PM
Games and Closing Remarks
fetch_me というゲームをやってたけど、ノリについて行けなかった..
すごい盛り上がってたけど、これも若さか...あるいはお国柄か..
次はルーレットが始まった
ルーレットにあらかじめ参加者名が全員分書いてあって、それが回る・・何回まわすんだろうw
https://scrapbox.io/files/65dc5d092fe60f002514cd68.png
クロージング
スタッフや参加者へのお礼をつたえつつ「またPyCon PH 2025で会いましょう!」、でおわり。
5:20 PM - 6:50 PM
PyCon Night
ということで、APACメンバーと夕食食べに行った。チキンイナサル。
https://scrapbox.io/files/65dc95dee289cb0024cdc026.pnghttps://scrapbox.io/files/65dc95e62e8f16002385dc20.png
イベント感想
https://scrapbox.io/files/65dc959e0319be0024dcee6f.png